package org.thinginitself.mixpath;

/**
 * Options for outputting XML
 * @author Andrew Harrison
 * @version 1.0.0 19/05/2011
 */
public class Options {

    private String encoding = "UTF-8";
    private boolean emitDeclaration = true;
    private boolean emitEncoding = true;
    private boolean pretty = true;

    public Options() {
    }

    /**
     * Create an Options object
     * @param encoding the encoding. default is UTF-8
     * @param emitDeclaration default is true
     * @param emitEncoding default is true
     * @param pretty Pretty print the XML. Default is true
     */
    public Options(String encoding, boolean emitDeclaration, boolean emitEncoding, boolean pretty) {
        this.encoding = encoding;
        this.emitDeclaration = emitDeclaration;
        this.emitEncoding = emitEncoding;
        this.pretty = pretty;
    }

    public Options(boolean emitDeclaration, boolean emitEncoding, boolean pretty) {
        this.emitDeclaration = emitDeclaration;
        this.emitEncoding = emitEncoding;
        this.pretty = pretty;
    }

    public String getEncoding() {
        return encoding;
    }

    public void setEncoding(String encoding) {
        this.encoding = encoding;
    }

    public boolean isEmitDeclaration() {
        return emitDeclaration;
    }

    public void setEmitDeclaration(boolean emitDeclaration) {
        this.emitDeclaration = emitDeclaration;
    }

    public boolean isEmitEncoding() {
        return emitEncoding;
    }

    public void setEmitEncoding(boolean emitEncoding) {
        this.emitEncoding = emitEncoding;
    }

    public boolean isPretty() {
        return pretty;
    }

    public void setPretty(boolean pretty) {
        this.pretty = pretty;
    }
}
